; Disassembly of the file "Z:\home\knoppix\Public\BIOS.bin"
; 
; CPU Type: Z80
; 
; Using the opcode map file "Z:\home\knoppix\Public\BIOS.opmap"
; ; Created with dZ80 2.0
; 
; on Wednesday, 11 of January 2017 at 07:24 PM
; 
F600 C32DFE	JP	$FE2D	; BOOT   (00 - Cold Start)
F603 C37EF8	JP	$F87E	; WBOOT  (01 - Warm Boot)
F606 C313F7	JP	$F713	; CONST  (02 - Check for Console Char Ready)
F609 C376F7	JP	$F776	; CONIN  (03 - Read Console Char In)
F60C C385F7	JP	$F785	; CONOUT (04 - Write Console Char Out)
F60F C3D1F9	JP	$F9D1	; LIST   (05 - Write Listing Char Out)
F612 C3DCF9	JP	$F9DC	; PUNCH  (06 - Write Char to Punch dev)
F615 C31EFA	JP	$FA1E	; READER (07 - Read Reader dev)
F618 C3D9F7	JP	$F7D9	; HOME   (08 - Go to Track 00 on selected drive)
F61B C395F7	JP	$F795	; SELDSK (09 - Select Disk Drive)
F61E C3DBF7	JP	$F7DB	; SETTRK (0A - Set Track Number)
F621 C3E0F7	JP	$F7E0	; SETSEC (0B - Set Sector Number)
F624 C3E6F7	JP	$F7E6	; SETDMA (0C - Set DMA Address)
F627 C32EF8	JP	$F82E	; READ   (0D - Read Selected Sector)
F62A C334F8	JP	$F834	; WRITE  (0E - Write Selected Sector)
F62D C3C2F9	JP	$F9C2	; LISTST (0F - Return LST dev Status
F630 C3EBF7	JP	$F7EB	; SECTRAN(10 - Sector Translation)
F633 C31AF8	JP	$F81A	; UNK #1
F636 C31EF8	JP	$F81E	; UNK #2
F639 C3B6F9	JP	$F9B6	; UNK #3
F63C C39EFA	JP	$FA9E	; UNK #4

F63F 1E		DEFB	$1E
F640 40		DEFB	$40	; 8255/Port C mirror (initial value with O6=1 -> VRAM CPU access)
F641 00		DEFB	$00
F642 00		DEFB	$00
F643 07		DEFB	$07
F644 00		DEFB	$00
F645 00		DEFB	$00	; \
F646 63		DEFB	$63	; /base of character generator in VRAM
F647 11		DEFB	$11
F648 08		DEFB	$08
F649 01		DEFB	$01
F64A 00		DEFB	$00
F64B 19		DEFB	$19
F64C 00		DEFB	$00
F64D 01		DEFB	$01
F64E FF		DEFB	$FF
F64F 06		DEFB	$06
F650 00		DEFB	$00
F651 00		DEFB	$00
F652 00		DEFB	$00
F653 00		DEFB	$00
F654 00		DEFB	$00
F655 00		DEFB	$00
F656 00		DEFB	$00	; $00 if drv#=0 or 1 (FM), $40 if drv#=2 or 3 (MFM)
F657 00		DEFB	$00
F658 00		DEFB	$00
F659 00		DEFB	$00
F65A 00		DEFB	$00
F65B 00		DEFB	$00
F65C 00		DEFB	$00
F65D 00		DEFB	$00
F65E 00		DEFB	$00
F65F 04		DEFB	$04
F660 02		DEFB	$02
F661 0A		DEFB	$0A
F662 20		DEFB	$20
F663 FF		DEFB	$FF
F664 EF		DEFB	$EF
F665 3F		DEFB	$3F
F666 77		DEFB	$77
F667 F6		DEFB	$F6
F668 50		DEFB	$50
F669 00		DEFB	$00
F66A 04		DEFB	$04
F66B 0F		DEFB	$0F
F66C 00		DEFB	$00
F66D 8F		DEFB	$8F
F66E 01		DEFB	$01
F66F FF		DEFB	$FF
F670 00		DEFB	$00
F671 F0		DEFB	$F0
F672 00		DEFB	$00
F673 20		DEFB	$20
F674 00		DEFB	$00
F675 00		DEFB	$00
F676 00		DEFB	$00
F677 00		DEFB	$00
F678 03		DEFB	$03
F679 06		DEFB	$06
F67A 09		DEFB	$09
F67B 02		DEFB	$02
F67C 05		DEFB	$05
F67D 08		DEFB	$08
F67E 01		DEFB	$01
F67F 04		DEFB	$04
F680 07		DEFB	$07
F681 02		DEFB	$02
F682 09		DEFB	$09
F683 20		DEFB	$20
F684 FF		DEFB	$FF
F685 EF		DEFB	$EF
F686 3F		DEFB	$3F
F687 98		DEFB	$98
F688 F6		DEFB	$F6
F689 24		DEFB	$24
F68A 00		DEFB	$00
F68B 03		DEFB	$03
F68C 07		DEFB	$07
F68D 00		DEFB	$00
F68E AA		DEFB	$AA
F68F 00		DEFB	$00
F690 3F		DEFB	$3F
F691 00		DEFB	$00
F692 C0		DEFB	$C0
F693 00		DEFB	$00
F694 10		DEFB	$10
F695 00		DEFB	$00
F696 02		DEFB	$02
F697 00		DEFB	$00
F698 00		DEFB	$00
F699 04		DEFB	$04
F69A 08		DEFB	$08
F69B 03		DEFB	$03
F69C 07		DEFB	$07
F69D 02		DEFB	$02
F69E 06		DEFB	$06
F69F 01		DEFB	$01
F6A0 05		DEFB	$05
F6A1 00		DEFB	$00
F6A2 00		DEFB	$00
F6A3 00		DEFB	$00
F6A4 00		DEFB	$00
F6A5 00		DEFB	$00
F6A6 00		DEFB	$00
F6A7 00		DEFB	$00
F6A8 00		DEFB	$00
F6A9 00		DEFB	$00
F6AA 00		DEFB	$00
F6AB 00		DEFB	$00
F6AC 00		DEFB	$00
F6AD 00		DEFB	$00
F6AE 00		DEFB	$00
F6AF 00		DEFB	$00
F6B0 00		DEFB	$00
F6B1 00		DEFB	$00
F6B2 00		DEFB	$00
F6B3 00		DEFB	$00
F6B4 00		DEFB	$00
F6B5 00		DEFB	$00
F6B6 00		DEFB	$00
F6B7 00		DEFB	$00
F6B8 00		DEFB	$00
F6B9 00		DEFB	$00
F6BA 00		DEFB	$00
F6BB 00		DEFB	$00
F6BC 00		DEFB	$00
F6BD 00		DEFB	$00
F6BE 00		DEFB	$00
F6BF 00		DEFB	$00
F6C0 00		DEFB	$00
F6C1 00		DEFB	$00

F6C2 02		DEFB	$02
F6C3 09		DEFB	$09
F6C4 20		DEFB	$20
F6C5 FF		DEFB	$FF
F6C6 EF		DEFB	$EF
F6C7 3F		DEFB	$3F
F6C8 D9		DEFB	$D9	; \ CP/M PROTECTION
F6C9 F6		DEFB	$F6	; / CODE for drives 2, 3
				; ##### 8272 command args for drv# 2, 3
F6CA 48		DEFB	$48	; head+drive
F6CB 00		DEFB	$00	; C	| N
F6CC 04		DEFB	$04	; H	| SC
F6CD 0F		DEFB	$0F	; R	| GPL
F6CE 00		DEFB	$00	; N	| D
F6CF 5E		DEFB	$5E	; EOT
F6D0 01		DEFB	$01	; GPL
F6D1 7F		DEFB	$7F	; DTL	| STP

F6D2 00		DEFB	$00
F6D3 C0		DEFB	$C0
F6D4 00		DEFB	$00
F6D5 20		DEFB	$20
F6D6 00		DEFB	$00
F6D7 02		DEFB	$02
F6D8 00		DEFB	$00
F6D9 00		DEFB	$00
F6DA 02		DEFB	$02
F6DB 04		DEFB	$04
F6DC 06		DEFB	$06
F6DD 08		DEFB	$08
F6DE 01		DEFB	$01
F6DF 03		DEFB	$03
F6E0 05		DEFB	$05
F6E1 07		DEFB	$07

F6E2 00		DEFB	$00
F6E3 1A		DEFB	$1A
F6E4 07		DEFB	$07
F6E5 80		DEFB	$80
F6E6 BF		DEFB	$BF
F6E7 17		DEFB	$17
F6E8 F9		DEFB	$F9	; \ CP/M PROTECTION
F6E9 F6		DEFB	$F6	; / CODE for drives 0, 1
				; ##### 8272 command args for drv# 0, 1
F6EA 1A		DEFB	$1A	; head+drive
F6EB 00		DEFB	$00	; C	| N
F6EC 03		DEFB	$03	; H	| SC
F6ED 07		DEFB	$07	; R	| GPL
F6EE 00		DEFB	$00	; N	| D
F6EF F2		DEFB	$F2	; EOT
F6F0 00		DEFB	$00	; GPL
F6F1 3F		DEFB	$3F	; DTL	| STP

F6F2 00		DEFB	$00
F6F3 C0		DEFB	$C0
F6F4 00		DEFB	$00
F6F5 10		DEFB	$10
F6F6 00		DEFB	$00
F6F7 02		DEFB	$02
F6F8 00		DEFB	$00
F6F9 00		DEFB	$00
F6FA 06		DEFB	$06
F6FB 0C		DEFB	$0C
F6FC 12		DEFB	$12
F6FD 18		DEFB	$18
F6FE 04		DEFB	$04
F6FF 0A		DEFB	$0A
F700 10		DEFB	$10
F701 16		DEFB	$16
F702 02		DEFB	$02
F703 08		DEFB	$08
F704 0E		DEFB	$0E
F705 14		DEFB	$14
F706 01		DEFB	$01
F707 07		DEFB	$07
F708 0D		DEFB	$0D
F709 13		DEFB	$13
F70A 19		DEFB	$19
F70B 05		DEFB	$05
F70C 0B		DEFB	$0B
F70D 11		DEFB	$11
F70E 17		DEFB	$17
F70F 03		DEFB	$03
F710 09		DEFB	$09
F711 0F		DEFB	$0F
F712 15		DEFB	$15

F713 3A0300	LD	A,($0003)
F716 E602	AND	$02
F718 C227FA	JP	NZ,$FA27
F71B 3A4CF6	LD	A,($F64C)
F71E B7		OR	A
F71F C8		RET	Z

F720 214EF6	LD	HL,$F64E
F723 CB7E	BIT	7,(HL)
F725 C8		RET	Z

F726 7E		LD	A,(HL)
F727 2150F6	LD	HL,$F650
F72A FE81	CP	$81
F72C 281A	JR	Z,$F748
F72E FE82	CP	$82
F730 281C	JR	Z,$F74E
F732 FE83	CP	$83
F734 282B	JR	Z,$F761
F736 FE90	CP	$90
F738 282B	JR	Z,$F765
F73A FE91	CP	$91
F73C 282B	JR	Z,$F769
F73E FEFE	CP	$FE
F740 CA73F8	JP	Z,$F873
F743 AF		XOR	A
F744 324CF6	LD	($F64C),A
F747 C9		RET	

F748 3E02	LD	A,$02
F74A AE		XOR	(HL)
F74B 77		LD	(HL),A
F74C 18F5	JR	$F743
F74E 3E04	LD	A,$04
F750 AE		XOR	(HL)
F751 77		LD	(HL),A
F752 E604	AND	$04
F754 210801	LD	HL,$0108
F757 2803	JR	Z,$F75C
F759 210204	LD	HL,$0402
F75C 2248F6	LD	($F648),HL
F75F 18E2	JR	$F743
F761 CBDE	SET	3,(HL)
F763 18DE	JR	$F743
F765 3E40	LD	A,$40
F767 18E1	JR	$F74A
F769 2147F6	LD	HL,$F647
F76C 3E02	LD	A,$02
F76E AE		XOR	(HL)
F76F 77		LD	(HL),A
F770 324EF6	LD	($F64E),A
F773 F6FF	OR	$FF
F775 C9		RET	

F776 3A0300	LD	A,($0003)
F779 CB4F	BIT	1,A
F77B CA22F8	JP	Z,$F822
F77E 0F		RRCA	
F77F D215F6	JP	NC,$F615
F782 C31EFA	JP	$FA1E

F785 47		LD	B,A	; B = $1B
F786 3A0300	LD	A,($0003) ; A = I/O Byte
F789 CB4F	BIT	1,A	; Test if in batch mode or user defined console
F78B CA28F8	JP	Z,$F828	; jump if not (at startup I/O Byte=$80, see "Boot Sector.asm")
F78E 0F		RRCA	
F78F D2DCF9	JP	NC,$F9DC
F792 C312F6	JP	$F612

F795 210400	LD	HL,$0004
F798 46		LD	B,(HL)
F799 AF		XOR	A
F79A 77		LD	(HL),A
F79B EB		EX	DE,HL
F79C 67		LD	H,A
F79D 6F		LD	L,A
F79E 3A5EF6	LD	A,($F65E)
F7A1 B9		CP	C
F7A2 D8		RET	C

F7A3 EB		EX	DE,HL
F7A4 70		LD	(HL),B
F7A5 79		LD	A,C
F7A6 325CF6	LD	($F65C),A
F7A9 215FF6	LD	HL,$F65F
F7AC 46		LD	B,(HL)
F7AD 2B		DEC	HL
F7AE 3603	LD	(HL),$03
F7B0 CB57	BIT	2,A
F7B2 2001	JR	NZ,$F7B5
F7B4 70		LD	(HL),B
F7B5 2100FC	LD	HL,$FC00
F7B8 B5		OR	L
F7B9 6F		LD	L,A
F7BA 7E		LD	A,(HL)
F7BB 3251F6	LD	($F651),A
F7BE CB51	BIT	2,C
F7C0 2801	JR	Z,$F7C3
F7C2 79		LD	A,C
F7C3 1100FB	LD	DE,$FB00
F7C6 07		RLCA	
F7C7 07		RLCA	
F7C8 07		RLCA	
F7C9 07		RLCA	
F7CA B3		OR	E
F7CB 5F		LD	E,A
F7CC F60A	OR	$0A
F7CE 6F		LD	L,A
F7CF 62		LD	H,D
F7D0 7E		LD	A,(HL)
F7D1 23		INC	HL
F7D2 66		LD	H,(HL)
F7D3 6F		LD	L,A
F7D4 2259F6	LD	($F659),HL
F7D7 EB		EX	DE,HL
F7D8 C9		RET	

F7D9 0E00	LD	C,$00
F7DB 2152F6	LD	HL,$F652
F7DE 71		LD	(HL),C
F7DF C9		RET	

F7E0 0C		INC	C
F7E1 2154F6	LD	HL,$F654
F7E4 71		LD	(HL),C
F7E5 C9		RET	

F7E6 ED4357F6	LD	($F657),BC
F7EA C9		RET	

F7EB 79		LD	A,C
F7EC 3255F6	LD	($F655),A
F7EF 2A59F6	LD	HL,($F659)
F7F2 4E		LD	C,(HL)
F7F3 2153F6	LD	HL,$F653
F7F6 3600	LD	(HL),$00
F7F8 CB71	BIT	6,C
F7FA 2808	JR	Z,$F804
F7FC CB39	SRL	C
F7FE B9		CP	C
F7FF 3803	JR	C,$F804
F801 91		SUB	C
F802 3601	LD	(HL),$01
F804 6F		LD	L,A
F805 2600	LD	H,$00
F807 3A51F6	LD	A,($F651)
F80A E602	AND	$02
F80C 2804	JR	Z,$F812
F80E CB3D	SRL	L
F810 CB3D	SRL	L
F812 7A		LD	A,D
F813 B3		OR	E
F814 C8		RET	Z

F815 19		ADD	HL,DE
F816 6E		LD	L,(HL)
F817 2600	LD	H,$00
F819 C9		RET	

F81A 2198FD	LD	HL,$FD98
F81D C9		RET	

F81E 2145F6	LD	HL,$F645
F821 C9		RET	

F822 CD3AF8	CALL	$F83A
F825 C32066	JP	$6620

F828 CD3AF8	CALL	$F83A	; jumped from $F785
F82B C36766	JP	$6667	; jump to BLOCK#2

F82E CD3AF8	CALL	$F83A
F831 C3146E	JP	$6E14

F834 CD3AF8	CALL	$F83A
F837 C3106E	JP	$6E10
				; ########### SET ACCESS TO VRAM ###########
F83A F3		DI
F83B E1		POP	HL	; HL=$F82B, this is called from $F828 above
F83C 3A40F6	LD	A,($F640)
F83F CB77	BIT	6,A	; test 06 (DRAM#1/VRAM access)
F841 2015	JR	NZ,$F858 ; skip if VRAM access
F843 3242F6	LD	($F642),A ; backup current Port C if not
F846 F640	OR	$40	; set 06 for VRAM access
F848 3240F6	LD	($F640),A ; save in Port C mirror
F84B D3FE	OUT	($FE),A	; set 06 in Port C
F84D ED73EEFD	LD	($FDEE),SP ; save stack pointer to ($FDEE)
F851 31EEFD	LD	SP,$FDEE ; set stack at $FDEE
F854 115AF8	LD	DE,$F85A
F857 D5		PUSH	DE	; save $F85A on stack (RET will jump there, 3 lines below here)
F858 FB		EI
F859 E9		JP	(HL)	; jump back to $F82B and call $6667 in BLOCK#2

				; ########### SET ACCESS TO DRAM#1 ###########
F85A F3		DI
F85B 47		LD	B,A	; backup A in B
F85C EB		EX	DE,HL	; backup HL in DE
F85D 3E40	LD	A,$40
F85F 2142F6	LD	HL,$F642
F862 A6		AND	(HL)	; get value of bit 6 of ($F642) in A
F863 2B		DEC	HL
F864 2B		DEC	HL	; HL = $F640
F865 CBB6	RES	6,(HL)	; reset bit 6 of ($F640)
F867 B6		OR	(HL)	; A = ($F640) with value of bit 6 of ($F642)
F868 77		LD	(HL),A	; save it to ($F640)
F869 D3FE	OUT	($FE),A	; send to 8255
F86B EB		EX	DE,HL	; restore HL from DE
F86C 78		LD	A,B	; restore A from B
F86D ED7BEEFD	LD	SP,($FDEE) ; restore initial stack position
F871 FB		EI	
F872 C9		RET
				; ########### CPM_TO_COBRA #############
				; The BIOS BOOT function at $FE2D changes the address of BIOS BOOT in the jump table at $F600
				; to the address of this routine
F873 F3		DI	
F874 210000	LD	HL,$0000
F877 3EC1	LD	A,$C1
F879 D3FE	OUT	($FE),A	; set border to blue, 06 to "1" for VRAM access, SO to "1"
F87B ED4F	LD	R,A	; set bit 7 of R to "1" for BASIC access in startup cfg
F87D E9		JP	(HL)	; change hw config to startup by setting PO="1" and start BOOT ROM

				; ################### WBOOT (F87E) ####################
F87E F3		DI
F87F 3A40F6	LD	A,($F640) ; A = 8255/Port C mirror
F882 F6C0	OR	$C0	; set bit 6 & 7
F884 D3FE	OUT	($FE),A	; set border to black, 06 to "1" for VRAM access, SO to "1"
F886 310001	LD	SP,$0100 ; set stack at $0100
F889 3EC3	LD	A,$C3	; opcode for JP...
F88B 320000	LD	($0000),A ; ...stored at $0000
F88E 2103F6	LD	HL,$F603
F891 220100	LD	($0001),HL ; set locations $0001-$0002 to entry point of BIOS WBOOT: $F603
F894 320500	LD	($0005),A ; opcode for JP stored at $0005
F897 2106E8	LD	HL,$E806
F89A 220600	LD	($0006),HL ; set locations $0006-$0007 to entry point of BDOS: $E806
F89D 2190FD	LD	HL,$FD90
F8A0 1198FD	LD	DE,$FD98
F8A3 010800	LD	BC,$0008
F8A6 EDB0	LDIR		; copy CTC Interrupt Vector Table at $FD90-$FD97 over to $FD98-$FD9F. When done, BC=$0000 DE=$FDA0 HL=$FD98
F8A8 ED5E	IM	2	; next, deal with 80CTC
F8AA 7C		LD	A,H	; upper half of CTC interrupt table start address ($FD)...
F8AB ED47	LD	I,A	; ...is stored in register I (see Z80 docs)
F8AD 7D		LD	A,L	; lower half of CTC interrupt table start address ($98)...
F8AE D3E3	OUT	($E3),A	; ... is sent to CTC channel 0
				; int. vectors at (FD98-FD99) for CTC0, (FD9A-FD9B) for CTC1
				;		  (FD9C-FD9D) for CTC2, (FD9E-FD9F) for CTC3
				; CTC0...2 have CTC INT. ROUTINE #1 at $F987 (does nothing),
				; CTC3 has CTC INT. ROUTINE #2 at $F8C9
F8B0 3EFF	LD	A,$FF	; control word for CTC0 on next line (Enable Interrupt, Counter Mode, Rising Edge, Time Const. Follows, Reset, Control).
F8B2 D3E3	OUT	($E3),A	; write FF to CTC channel 0: set CTC0 to counter mode and enable CTC0 interrupts
				; MEANING: Reset, Enable Interrupts for Channel 0, a Time Constant follows.
F8B4 3E01	LD	A,$01	; time constant for CTC0 on next line: generate INT for each byte transferred from 8272 to µP
F8B6 D3E3	OUT	($E3),A	; write 01 to CTC channel 0
				; MEANING: Time Constant byte (=01, for 1 byte read).
F8B8 3E7B	LD	A,$7B	; data for CTC1+2 on next 2 lines: (Disable int, Counter Mode, Rising edge, No Time Const. Follows, Software Reset)
				; MEANING: Disable interrupts
F8BA D3EB	OUT	($EB),A	; write 7B to CTC channel 1 (disable CTC1 interrupt)
F8BC D3F3	OUT	($F3),A	; write 7B to CTC channel 2 (disable CTC2 interrupt)
F8BE 3EFF	LD	A,$FF	; control word for CTC3 on next line (Enable Interrupt, Counter Mode, Rising Edge, Time Const. Follows, Reset, Control).
F8C0 D3FB	OUT	($FB),A	; write FF to CTC channel 3: set CTC3 to counter mode and enable CTC3 interrupts
				; MEANING: Reset, Enable Interrupts for Channel 3, a Time Constant follows.
F8C2 3E01	LD	A,$01	; time constant for CTC3 on next line
F8C4 D3FB	OUT	($FB),A	; write 01 to CTC channel 3
				; MEANING: Time Constant byte (=01, for 1 pulse of TRG3, the 20ms interrupt from mainboard).
F8C6 FB		EI
F8C7 18FE	JR	$F8C7	; continuous loop waiting for key press

				; ######## CTC INT. ROUTINE #2 (F8C9) #######
F8C9 CD746F	CALL	$6F74	; call 8272_RD to read & store command result bytes at (FDF0-FDF6)
F8CC CDB66F	CALL	$6FB6	; put 8272 in standby for future commands
F8CF 2108F9	LD	HL,$F908
F8D2 229EFD	LD	($FD9E),HL ; set CTC3 interrupt routine addr to $F908 (see next routine below)
F8D5 21FFFF	LD	HL,$FFFF
F8D8 220AFC	LD	($FC0A),HL
F8DB 3E04	LD	A,$04
F8DD 32086E	LD	($6E08),A
F8E0 AF		XOR	A
F8E1 32076E	LD	($6E07),A
F8E4 1100E0	LD	DE,$E000
F8E7 D5		PUSH	DE
F8E8 210078	LD	HL,$7800
F8EB 010008	LD	BC,$0800
F8EE EDB0	LDIR		; copy CCP (2KB) from $7800-$7FFF to $E000-$E7FF
F8F0 216072	LD	HL,$7260
F8F3 0E06	LD	C,$06
F8F5 EDB0	LDIR		; copy $7260-$7265 to $E800-$E805 ($F9 $16 $00 $00 $00 $1A)
F8F7 210400	LD	HL,$0004
F8FA 4E		LD	C,(HL)	; C = default CP/M physical drv#
F8FB 3A40F6	LD	A,($F640) ; A = 8255/Port C mirror
F8FE E6BF	AND	$BF	; reset bit 6 (06=0 for DRAM#1 access)
F900 3240F6	LD	($F640),A ; save back to 8255/Port C mirror
F903 D3FE	OUT	($FE),A	; send to port C 8255 to get DRAM#1 access
F905 FB		EI
F906 ED4D	RETI
				; ############### CTC3 INTERRUPT ROUTINE #################
F908 ED73CEFD	LD	($FDCE),SP ; save current stack pointer to ($FDCE)
F90C 31CEFD	LD	SP,$FDCE ; set stack at $FDCE
F90F F5		PUSH	AF
F910 C5		PUSH	BC
F911 D5		PUSH	DE
F912 E5		PUSH	HL
F913 3B		DEC	SP
F914 3B		DEC	SP
F915 16FF	LD	D,$FF
F917 214BF6	LD	HL,$F64B
F91A 35		DEC	(HL)	; decrement ($F64B)=$19
F91B 200C	JR	NZ,$F929 ; skip if not zero -> ---> --->|
F91D 3619	LD	(HL),$19 ; ($F64B)=$19 initially	|
F91F 2B		DEC	HL	; HL=$F64A			|
F920 7E		LD	A,(HL)	; A=($F64A)=$00 initially	|
F921 23		INC	HL	; HL=$F64B			|
F922 B7		OR	A	; test A			|
F923 2804	JR	Z,$F929	; if A=0 skip --> ---> ---> --->|
F925 11D36B	LD	DE,$6BD3 ;				|
F928 D5		PUSH	DE	; save $6BD3 on stack		|
F929 23		INC	HL	; <--- <--- <--- <--- <--- <----|
F92A 7E		LD	A,(HL)	; A=($F64C)=$00 initially
F92B B7		OR	A	; test A
F92C 2010	JR	NZ,$F93E ; skip if not zero --> ---> ---> ---> ---> --->|
F92E 01FE00	LD	BC,$00FE ;						|
F931 ED78	IN	A,(C)	; read port $FE (keyboard)			|
F933 2F		CPL		; invert byte read				|
F934 E63F	AND	$3F	; filter out bits 6 & 7				|
F936 23		INC	HL	; HL=$F64D					|
F937 2014	JR	NZ,$F94D ; if any key was pressed ---> ---> --->|	|
F939 3601	LD	(HL),$01 ; ($F64D)=$01				|	|
F93B 23		INC	HL	; HL=$F64E				|	|
F93C 36FF	LD	(HL),$FF ; ($F64E)=$FF				|	|
F93E 14		INC	D	; <--- <--- <--- <--- <--- <--- <--- <--- <-----+
F93F 2015	JR	NZ,$F956 ; if D!=0 jump -----> ---> --->|	|	|
F941 D1		POP	DE	;				|	|	|
F942 E1		POP	HL	;				|	|	|
F943 D1		POP	DE	;				|	|	|
F944 C1		POP	BC	;				|	|	|
F945 F1		POP	AF	;				|	|	|
F946 ED7BCEFD	LD	SP,($FDCE) ;				|	|	|
F94A FB		EI		;				|	|	|
F94B ED4D	RETI		;				|	|	|
				;				|	|	|
F94D 35		DEC	(HL)	; < <--- <--- <--- <--- <--- <--- <-----|	|
F94E 20EE	JR	NZ,$F93E ; ----> ---> ---> ---> ---> ---> ---> ---> --->|
F950 3605	LD	(HL),$05 ;				|
F952 11266C	LD	DE,$6C26 ;				|
F955 D5		PUSH	DE	;				|
F956 3E79	LD	A,$79	; <--- <--- <--- <--- <--- <----|
F958 D3FB	OUT	($FB),A	; disable CTC3 interrupts
F95A 2140F6	LD	HL,$F640
F95D 7E		LD	A,(HL)
F95E 23		INC	HL
F95F 77		LD	(HL),A
F960 2B		DEC	HL
F961 F640	OR	$40	; set bit 6
F963 77		LD	(HL),A
F964 D3FE	OUT	($FE),A	; set DRAM#1 access for CPU
F966 FB		EI	
F967 ED4D	RETI	

F969 F3		DI	
F96A 2141F6	LD	HL,$F641
F96D 3E40	LD	A,$40
F96F A6		AND	(HL)
F970 2B		DEC	HL
F971 CBB6	RES	6,(HL)
F973 B6		OR	(HL)
F974 77		LD	(HL),A
F975 D3FE	OUT	($FE),A
F977 3EF9	LD	A,$F9
F979 D3FB	OUT	($FB),A
F97B E1		POP	HL
F97C D1		POP	DE
F97D C1		POP	BC
F97E F1		POP	AF
F97F ED7BCEFD	LD	SP,($FDCE)
F983 FB		EI	
F984 C9		RET	

F985 EDA2	INI
F987 FB		EI		; ######## CTC INT. ROUTINE #1 (F987) ####### (this does nothing)
F988 ED4D	RETI

F98A E5		PUSH	HL
F98B 2187F9	LD	HL,$F987
F98E 2298FD	LD	($FD98),HL
F991 215BF6	LD	HL,$F65B
F994 36FF	LD	(HL),$FF
F996 E1		POP	HL
F997 FB		EI	
F998 ED4D	RETI	

F99A F3		DI	
F99B 3A40F6	LD	A,($F640)
F99E E6BF	AND	$BF
F9A0 D3FE	OUT	($FE),A
F9A2 EDB0	LDIR	
F9A4 F640	OR	$40
F9A6 D3FE	OUT	($FE),A
F9A8 FB		EI	
F9A9 C9		RET	

F9AA ED78	IN	A,(C)
F9AC C9		RET	

F9AD 76		HALT	
F9AE DBF5	IN	A,($F5)
F9B0 E620	AND	$20
F9B2 C2ADF9	JP	NZ,$F9AD
F9B5 C9		RET	

F9B6 B7		OR	A
F9B7 3E79	LD	A,$79
F9B9 2802	JR	Z,$F9BD
F9BB 3EF9	LD	A,$F9
F9BD F3		DI	
F9BE D3FB	OUT	($FB),A
F9C0 FB		EI	
F9C1 C9		RET	

F9C2 3A0300	LD	A,($0003)
F9C5 07		RLCA	
F9C6 3EFF	LD	A,$FF
F9C8 D0		RET	NC

F9C9 DBFE	IN	A,($FE)
F9CB E680	AND	$80
F9CD C8		RET	Z

F9CE F6FF	OR	$FF
F9D0 C9		RET	

F9D1 3A0300	LD	A,($0003)
F9D4 07		RLCA	
F9D5 D228F8	JP	NC,$F828
F9D8 07		RLCA	
F9D9 DA12F6	JP	C,$F612
F9DC CDC9F9	CALL	$F9C9
F9DF 28FB	JR	Z,$F9DC
F9E1 F3		DI	
F9E2 3A40F6	LD	A,($F640)
F9E5 E678	AND	$78
F9E7 5F		LD	E,A
F9E8 21CCFA	LD	HL,$FACC
F9EB 46		LD	B,(HL)
F9EC 23		INC	HL
F9ED 3680	LD	(HL),$80
F9EF 23		INC	HL
F9F0 79		LD	A,C
F9F1 2F		CPL	
F9F2 0F		RRCA	
F9F3 57		LD	D,A
F9F4 E687	AND	$87
F9F6 B3		OR	E
F9F7 77		LD	(HL),A
F9F8 7A		LD	A,D
F9F9 23		INC	HL
F9FA 10F6	DJNZ	$F9F2
F9FC 3600	LD	(HL),$00
F9FE 21CCFA	LD	HL,$FACC
FA01 46		LD	B,(HL)
FA02 04		INC	B
FA03 04		INC	B
FA04 23		INC	HL
FA05 7E		LD	A,(HL)
FA06 D3FE	OUT	($FE),A
FA08 23		INC	HL
FA09 3ACBFA	LD	A,($FACB)
FA0C 4F		LD	C,A
FA0D 110000	LD	DE,$0000
FA10 CD84FA	CALL	$FA84
FA13 10F0	DJNZ	$FA05
FA15 3A40F6	LD	A,($F640)
FA18 D3FE	OUT	($FE),A
FA1A F6FF	OR	$FF
FA1C FB		EI	
FA1D C9		RET	

FA1E CD27FA	CALL	$FA27
FA21 28FB	JR	Z,$FA1E
FA23 3AD8FA	LD	A,($FAD8)
FA26 C9		RET	

FA27 F3		DI	
FA28 3A40F6	LD	A,($F640)
FA2B CBFF	SET	7,A
FA2D D3FE	OUT	($FE),A
FA2F 0600	LD	B,$00
FA31 DBFE	IN	A,($FE)
FA33 07		RLCA	
FA34 DA41FA	JP	C,$FA41
FA37 10F8	DJNZ	$FA31
FA39 3A40F6	LD	A,($F640)
FA3C D3FE	OUT	($FE),A
FA3E AF		XOR	A
FA3F FB		EI	
FA40 C9		RET	

FA41 21CCFA	LD	HL,$FACC
FA44 46		LD	B,(HL)
FA45 04		INC	B
FA46 04		INC	B
FA47 23		INC	HL
FA48 110000	LD	DE,$0000
FA4B 3ACBFA	LD	A,($FACB)
FA4E 4F		LD	C,A
FA4F DBFE	IN	A,($FE)
FA51 77		LD	(HL),A
FA52 23		INC	HL
FA53 CD84FA	CALL	$FA84
FA56 10F0	DJNZ	$FA48
FA58 3A40F6	LD	A,($F640)
FA5B D3FE	OUT	($FE),A
FA5D E6F8	AND	$F8
FA5F 5F		LD	E,A
FA60 2B		DEC	HL
FA61 CB7E	BIT	7,(HL)
FA63 20D9	JR	NZ,$FA3E
FA65 21CCFA	LD	HL,$FACC
FA68 46		LD	B,(HL)
FA69 23		INC	HL
FA6A CB7E	BIT	7,(HL)
FA6C 28D0	JR	Z,$FA3E
FA6E 0EFF	LD	C,$FF
FA70 23		INC	HL
FA71 7E		LD	A,(HL)
FA72 07		RLCA	
FA73 CB19	RR	C
FA75 E607	AND	$07
FA77 B3		OR	E
FA78 D3FE	OUT	($FE),A
FA7A 23		INC	HL
FA7B 10F4	DJNZ	$FA71
FA7D 79		LD	A,C
FA7E 2F		CPL	
FA7F 32D8FA	LD	($FAD8),A
FA82 1891	JR	$FA15
FA84 110000	LD	DE,$0000
FA87 110000	LD	DE,$0000
FA8A 110000	LD	DE,$0000
FA8D 110000	LD	DE,$0000
FA90 110000	LD	DE,$0000
FA93 ED57	LD	A,I
FA95 ED57	LD	A,I
FA97 ED57	LD	A,I
FA99 0D		DEC	C
FA9A C284FA	JP	NZ,$FA84
FA9D C9		RET	

FA9E 323FF6	LD	($F63F),A
FAA1 47		LD	B,A
FAA2 E607	AND	$07
FAA4 5F		LD	E,A
FAA5 1600	LD	D,$00
FAA7 21BFFA	LD	HL,$FABF
FAAA 19		ADD	HL,DE
FAAB 7E		LD	A,(HL)
FAAC 32CBFA	LD	($FACB),A
FAAF 78		LD	A,B
FAB0 E618	AND	$18
FAB2 0F		RRCA	
FAB3 0F		RRCA	
FAB4 0F		RRCA	
FAB5 5F		LD	E,A
FAB6 21C7FA	LD	HL,$FAC7
FAB9 19		ADD	HL,DE
FABA 7E		LD	A,(HL)
FABB 32CCFA	LD	($FACC),A
FABE C9		RET	

FABF FF		DEFB	$FF
FAC0 7F		DEFB	$7F
FAC1 3F		DEFB	$3F
FAC2 1F		DEFB	$1F
FAC3 0F		DEFB	$0F
FAC4 07		DEFB	$07
FAC5 03		DEFB	$03
FAC6 01		DEFB	$01
FAC7 05		DEFB	$05
FAC8 06		DEFB	$06
FAC9 07		DEFB	$07
FACA 08		DEFB	$08
FACB 00		DEFB	$00
FACC 00		DEFB	$00
FACD 00		DEFB	$00
FACE 00		DEFB	$00
FACF 00		DEFB	$00
FAD0 00		DEFB	$00
FAD1 00		DEFB	$00
FAD2 00		DEFB	$00
FAD3 00		DEFB	$00
FAD4 00		DEFB	$00
FAD5 00		DEFB	$00
FAD6 00		DEFB	$00
FAD7 00		DEFB	$00
FAD8 00		DEFB	$00
FAD9 00		DEFB	$00
FADA 00		DEFB	$00
FADB 00		DEFB	$00
FADC 00		DEFB	$00
FADD 00		DEFB	$00
FADE 00		DEFB	$00
FADF 00		DEFB	$00
FAE0 00		DEFB	$00
FAE1 00		DEFB	$00
FAE2 00		DEFB	$00
FAE3 00		DEFB	$00
FAE4 00		DEFB	$00
FAE5 00		DEFB	$00
FAE6 00		DEFB	$00
FAE7 00		DEFB	$00
FAE8 00		DEFB	$00
FAE9 00		DEFB	$00
FAEA 00		DEFB	$00
FAEB 00		DEFB	$00
FAEC 00		DEFB	$00
FAED 00		DEFB	$00
FAEE 00		DEFB	$00
FAEF 00		DEFB	$00
FAF0 00		DEFB	$00
FAF1 00		DEFB	$00
FAF2 00		DEFB	$00
FAF3 00		DEFB	$00
FAF4 00		DEFB	$00
FAF5 00		DEFB	$00
FAF6 00		DEFB	$00
FAF7 00		DEFB	$00
FAF8 00		DEFB	$00
FAF9 00		DEFB	$00
FAFA 00		DEFB	$00
FAFB 00		DEFB	$00
FAFC 00		DEFB	$00
FAFD 00		DEFB	$00
FAFE 00		DEFB	$00
FAFF 00		DEFB	$00
FB00 F9		DEFB	$F9
FB01 F6		DEFB	$F6
FB02 00		DEFB	$00
FB03 00		DEFB	$00
FB04 00		DEFB	$00
FB05 00		DEFB	$00
FB06 00		DEFB	$00
FB07 00		DEFB	$00
FB08 80		DEFB	$80
FB09 FB		DEFB	$FB
FB0A EA		DEFB	$EA
FB0B F6		DEFB	$F6
FB0C 10		DEFB	$10
FB0D FC		DEFB	$FC
FB0E 90		DEFB	$90
FB0F FC		DEFB	$FC
FB10 F9		DEFB	$F9
FB11 F6		DEFB	$F6
FB12 00		DEFB	$00
FB13 00		DEFB	$00
FB14 00		DEFB	$00
FB15 00		DEFB	$00
FB16 00		DEFB	$00
FB17 00		DEFB	$00
FB18 80		DEFB	$80
FB19 FB		DEFB	$FB
FB1A EA		DEFB	$EA
FB1B F6		DEFB	$F6
FB1C 20		DEFB	$20
FB1D FC		DEFB	$FC
FB1E B0		DEFB	$B0
FB1F FC		DEFB	$FC
FB20 D9		DEFB	$D9
FB21 F6		DEFB	$F6
FB22 00		DEFB	$00
FB23 00		DEFB	$00
FB24 00		DEFB	$00
FB25 00		DEFB	$00
FB26 00		DEFB	$00
FB27 00		DEFB	$00
FB28 80		DEFB	$80
FB29 FB		DEFB	$FB
FB2A CA		DEFB	$CA
FB2B F6		DEFB	$F6
FB2C 30		DEFB	$30
FB2D FC		DEFB	$FC
FB2E D0		DEFB	$D0
FB2F FC		DEFB	$FC
FB30 D9		DEFB	$D9
FB31 F6		DEFB	$F6
FB32 00		DEFB	$00
FB33 00		DEFB	$00
FB34 00		DEFB	$00
FB35 00		DEFB	$00
FB36 00		DEFB	$00
FB37 00		DEFB	$00
FB38 80		DEFB	$80
FB39 FB		DEFB	$FB
FB3A CA		DEFB	$CA
FB3B F6		DEFB	$F6
FB3C 50		DEFB	$50
FB3D FC		DEFB	$FC
FB3E 10		DEFB	$10
FB3F FD		DEFB	$FD
FB40 00		DEFB	$00
FB41 00		DEFB	$00
FB42 00		DEFB	$00
FB43 00		DEFB	$00
FB44 00		DEFB	$00
FB45 00		DEFB	$00
FB46 00		DEFB	$00
FB47 00		DEFB	$00
FB48 80		DEFB	$80
FB49 FB		DEFB	$FB
FB4A 00		DEFB	$00
FB4B 00		DEFB	$00
FB4C 70		DEFB	$70
FB4D FC		DEFB	$FC
FB4E 50		DEFB	$50
FB4F FD		DEFB	$FD
FB50 77		DEFB	$77
FB51 F6		DEFB	$F6
FB52 00		DEFB	$00
FB53 00		DEFB	$00
FB54 00		DEFB	$00
FB55 00		DEFB	$00
FB56 00		DEFB	$00
FB57 00		DEFB	$00
FB58 80		DEFB	$80
FB59 FB		DEFB	$FB
FB5A 68		DEFB	$68
FB5B F6		DEFB	$F6
FB5C 70		DEFB	$70
FB5D FC		DEFB	$FC
FB5E 50		DEFB	$50
FB5F FD		DEFB	$FD
FB60 98		DEFB	$98
FB61 F6		DEFB	$F6
FB62 00		DEFB	$00
FB63 00		DEFB	$00
FB64 00		DEFB	$00
FB65 00		DEFB	$00
FB66 00		DEFB	$00
FB67 00		DEFB	$00
FB68 80		DEFB	$80
FB69 FB		DEFB	$FB
FB6A 89		DEFB	$89
FB6B F6		DEFB	$F6
FB6C 70		DEFB	$70
FB6D FC		DEFB	$FC
FB6E 50		DEFB	$50
FB6F FD		DEFB	$FD
FB70 B8		DEFB	$B8
FB71 F6		DEFB	$F6
FB72 00		DEFB	$00
FB73 00		DEFB	$00
FB74 00		DEFB	$00
FB75 00		DEFB	$00
FB76 00		DEFB	$00
FB77 00		DEFB	$00
FB78 80		DEFB	$80
FB79 FB		DEFB	$FB
FB7A A9		DEFB	$A9
FB7B F6		DEFB	$F6
FB7C 70		DEFB	$70
FB7D FC		DEFB	$FC
FB7E 50		DEFB	$50
FB7F FD		DEFB	$FD
FB80 00		DEFB	$00
FB81 00		DEFB	$00
FB82 00		DEFB	$00
FB83 00		DEFB	$00
FB84 00		DEFB	$00
FB85 00		DEFB	$00
FB86 00		DEFB	$00
FB87 00		DEFB	$00
FB88 00		DEFB	$00
FB89 00		DEFB	$00
FB8A 00		DEFB	$00
FB8B 00		DEFB	$00
FB8C 00		DEFB	$00
FB8D 00		DEFB	$00
FB8E 00		DEFB	$00
FB8F 00		DEFB	$00
FB90 00		DEFB	$00
FB91 00		DEFB	$00
FB92 00		DEFB	$00
FB93 00		DEFB	$00
FB94 00		DEFB	$00
FB95 00		DEFB	$00
FB96 00		DEFB	$00
FB97 00		DEFB	$00
FB98 00		DEFB	$00
FB99 00		DEFB	$00
FB9A 00		DEFB	$00
FB9B 00		DEFB	$00
FB9C 00		DEFB	$00
FB9D 00		DEFB	$00
FB9E 00		DEFB	$00
FB9F 00		DEFB	$00
FBA0 00		DEFB	$00
FBA1 00		DEFB	$00
FBA2 00		DEFB	$00
FBA3 00		DEFB	$00
FBA4 00		DEFB	$00
FBA5 00		DEFB	$00
FBA6 00		DEFB	$00
FBA7 00		DEFB	$00
FBA8 00		DEFB	$00
FBA9 00		DEFB	$00
FBAA 00		DEFB	$00
FBAB 00		DEFB	$00
FBAC 00		DEFB	$00
FBAD 00		DEFB	$00
FBAE 00		DEFB	$00
FBAF 00		DEFB	$00
FBB0 00		DEFB	$00
FBB1 00		DEFB	$00
FBB2 00		DEFB	$00
FBB3 00		DEFB	$00
FBB4 00		DEFB	$00
FBB5 00		DEFB	$00
FBB6 00		DEFB	$00
FBB7 00		DEFB	$00
FBB8 00		DEFB	$00
FBB9 00		DEFB	$00
FBBA 00		DEFB	$00
FBBB 00		DEFB	$00
FBBC 00		DEFB	$00
FBBD 00		DEFB	$00
FBBE 00		DEFB	$00
FBBF 00		DEFB	$00
FBC0 00		DEFB	$00
FBC1 00		DEFB	$00
FBC2 00		DEFB	$00
FBC3 00		DEFB	$00
FBC4 00		DEFB	$00
FBC5 00		DEFB	$00
FBC6 00		DEFB	$00
FBC7 00		DEFB	$00
FBC8 00		DEFB	$00
FBC9 00		DEFB	$00
FBCA 00		DEFB	$00
FBCB 00		DEFB	$00
FBCC 00		DEFB	$00
FBCD 00		DEFB	$00
FBCE 00		DEFB	$00
FBCF 00		DEFB	$00
FBD0 00		DEFB	$00
FBD1 00		DEFB	$00
FBD2 00		DEFB	$00
FBD3 00		DEFB	$00
FBD4 00		DEFB	$00
FBD5 00		DEFB	$00
FBD6 00		DEFB	$00
FBD7 00		DEFB	$00
FBD8 00		DEFB	$00
FBD9 00		DEFB	$00
FBDA 00		DEFB	$00
FBDB 00		DEFB	$00
FBDC 00		DEFB	$00
FBDD 00		DEFB	$00
FBDE 00		DEFB	$00
FBDF 00		DEFB	$00
FBE0 00		DEFB	$00
FBE1 00		DEFB	$00
FBE2 00		DEFB	$00
FBE3 00		DEFB	$00
FBE4 00		DEFB	$00
FBE5 00		DEFB	$00
FBE6 00		DEFB	$00
FBE7 00		DEFB	$00
FBE8 00		DEFB	$00
FBE9 00		DEFB	$00
FBEA 00		DEFB	$00
FBEB 00		DEFB	$00
FBEC 00		DEFB	$00
FBED 00		DEFB	$00
FBEE 00		DEFB	$00
FBEF 00		DEFB	$00
FBF0 00		DEFB	$00
FBF1 00		DEFB	$00
FBF2 00		DEFB	$00
FBF3 00		DEFB	$00
FBF4 00		DEFB	$00
FBF5 00		DEFB	$00
FBF6 00		DEFB	$00
FBF7 00		DEFB	$00
FBF8 00		DEFB	$00
FBF9 00		DEFB	$00
FBFA 00		DEFB	$00
FBFB 00		DEFB	$00
FBFC 00		DEFB	$00
FBFD 00		DEFB	$00
FBFE 00		DEFB	$00
FBFF 00		DEFB	$00
FC00 00		DEFB	$00	; (FC00) physical drv# for logical drv A:
FC01 01		DEFB	$01	; (FC01) physical drv# for logical drv B:
FC02 02		DEFB	$02	; (FC02) physical drv# for logical drv C:
FC03 03		DEFB	$03	; (FC03) physical drv# for logical drv D:
FC04 00		DEFB	$00	; (FC04) physical drv# for logical drv E:
FC05 00		DEFB	$00	; (FC05) physical drv# for logical drv F:
FC06 00		DEFB	$00	; (FC06) physical drv# for logical drv G:
FC07 20		DEFB	$20	; (FC07) physical drv# for logical drv H:
FC08 FF		DEFB	$FF
FC09 FF		DEFB	$FF
FC0A FF		DEFB	$FF
FC0B FF		DEFB	$FF
FC0C 00		DEFB	$00
FC0D 00		DEFB	$00
FC0E 00		DEFB	$00
FC0F 00		DEFB	$00
FC10 00		DEFB	$00
FC11 00		DEFB	$00
FC12 00		DEFB	$00
FC13 00		DEFB	$00
FC14 00		DEFB	$00
FC15 00		DEFB	$00
FC16 00		DEFB	$00
FC17 00		DEFB	$00
FC18 00		DEFB	$00
FC19 00		DEFB	$00
FC1A 00		DEFB	$00
FC1B 00		DEFB	$00
FC1C 00		DEFB	$00
FC1D 00		DEFB	$00
FC1E 00		DEFB	$00
FC1F 00		DEFB	$00
FC20 00		DEFB	$00
FC21 00		DEFB	$00
FC22 00		DEFB	$00
FC23 00		DEFB	$00
FC24 00		DEFB	$00
FC25 00		DEFB	$00
FC26 00		DEFB	$00
FC27 00		DEFB	$00
FC28 00		DEFB	$00
FC29 00		DEFB	$00
FC2A 00		DEFB	$00
FC2B 00		DEFB	$00
FC2C 00		DEFB	$00
FC2D 00		DEFB	$00
FC2E 00		DEFB	$00
FC2F 00		DEFB	$00
FC30 00		DEFB	$00
FC31 00		DEFB	$00
FC32 00		DEFB	$00
FC33 00		DEFB	$00
FC34 00		DEFB	$00
FC35 00		DEFB	$00
FC36 00		DEFB	$00
FC37 00		DEFB	$00
FC38 00		DEFB	$00
FC39 00		DEFB	$00
FC3A 00		DEFB	$00
FC3B 00		DEFB	$00
FC3C 00		DEFB	$00
FC3D 00		DEFB	$00
FC3E 00		DEFB	$00
FC3F 00		DEFB	$00
FC40 00		DEFB	$00
FC41 00		DEFB	$00
FC42 00		DEFB	$00
FC43 00		DEFB	$00
FC44 00		DEFB	$00
FC45 00		DEFB	$00
FC46 00		DEFB	$00
FC47 00		DEFB	$00
FC48 00		DEFB	$00
FC49 00		DEFB	$00
FC4A 00		DEFB	$00
FC4B 00		DEFB	$00
FC4C 00		DEFB	$00
FC4D 00		DEFB	$00
FC4E 00		DEFB	$00
FC4F 00		DEFB	$00
FC50 00		DEFB	$00
FC51 00		DEFB	$00
FC52 00		DEFB	$00
FC53 00		DEFB	$00
FC54 00		DEFB	$00
FC55 00		DEFB	$00
FC56 00		DEFB	$00
FC57 00		DEFB	$00
FC58 00		DEFB	$00
FC59 00		DEFB	$00
FC5A 00		DEFB	$00
FC5B 00		DEFB	$00
FC5C 00		DEFB	$00
FC5D 00		DEFB	$00
FC5E 00		DEFB	$00
FC5F 00		DEFB	$00
FC60 00		DEFB	$00
FC61 00		DEFB	$00
FC62 00		DEFB	$00
FC63 00		DEFB	$00
FC64 00		DEFB	$00
FC65 00		DEFB	$00
FC66 00		DEFB	$00
FC67 00		DEFB	$00
FC68 00		DEFB	$00
FC69 00		DEFB	$00
FC6A 00		DEFB	$00
FC6B 00		DEFB	$00
FC6C 00		DEFB	$00
FC6D 00		DEFB	$00
FC6E 00		DEFB	$00
FC6F 00		DEFB	$00
FC70 00		DEFB	$00
FC71 00		DEFB	$00
FC72 00		DEFB	$00
FC73 00		DEFB	$00
FC74 00		DEFB	$00
FC75 00		DEFB	$00
FC76 00		DEFB	$00
FC77 00		DEFB	$00
FC78 00		DEFB	$00
FC79 00		DEFB	$00
FC7A 00		DEFB	$00
FC7B 00		DEFB	$00
FC7C 00		DEFB	$00
FC7D 00		DEFB	$00
FC7E 00		DEFB	$00
FC7F 00		DEFB	$00
FC80 00		DEFB	$00
FC81 00		DEFB	$00
FC82 00		DEFB	$00
FC83 00		DEFB	$00
FC84 00		DEFB	$00
FC85 00		DEFB	$00
FC86 00		DEFB	$00
FC87 00		DEFB	$00
FC88 00		DEFB	$00
FC89 00		DEFB	$00
FC8A 00		DEFB	$00
FC8B 00		DEFB	$00
FC8C 00		DEFB	$00
FC8D 00		DEFB	$00
FC8E 00		DEFB	$00
FC8F 00		DEFB	$00
FC90 00		DEFB	$00
FC91 00		DEFB	$00
FC92 00		DEFB	$00
FC93 00		DEFB	$00
FC94 00		DEFB	$00
FC95 00		DEFB	$00
FC96 00		DEFB	$00
FC97 00		DEFB	$00
FC98 00		DEFB	$00
FC99 00		DEFB	$00
FC9A 00		DEFB	$00
FC9B 00		DEFB	$00
FC9C 00		DEFB	$00
FC9D 00		DEFB	$00
FC9E 00		DEFB	$00
FC9F 00		DEFB	$00
FCA0 00		DEFB	$00
FCA1 00		DEFB	$00
FCA2 00		DEFB	$00
FCA3 00		DEFB	$00
FCA4 00		DEFB	$00
FCA5 00		DEFB	$00
FCA6 00		DEFB	$00
FCA7 00		DEFB	$00
FCA8 00		DEFB	$00
FCA9 00		DEFB	$00
FCAA 00		DEFB	$00
FCAB 00		DEFB	$00
FCAC 00		DEFB	$00
FCAD 00		DEFB	$00
FCAE 00		DEFB	$00
FCAF 00		DEFB	$00
FCB0 00		DEFB	$00
FCB1 00		DEFB	$00
FCB2 00		DEFB	$00
FCB3 00		DEFB	$00
FCB4 00		DEFB	$00
FCB5 00		DEFB	$00
FCB6 00		DEFB	$00
FCB7 00		DEFB	$00
FCB8 00		DEFB	$00
FCB9 00		DEFB	$00
FCBA 00		DEFB	$00
FCBB 00		DEFB	$00
FCBC 00		DEFB	$00
FCBD 00		DEFB	$00
FCBE 00		DEFB	$00
FCBF 00		DEFB	$00
FCC0 00		DEFB	$00
FCC1 00		DEFB	$00
FCC2 00		DEFB	$00
FCC3 00		DEFB	$00
FCC4 00		DEFB	$00
FCC5 00		DEFB	$00
FCC6 00		DEFB	$00
FCC7 00		DEFB	$00
FCC8 00		DEFB	$00
FCC9 00		DEFB	$00
FCCA 00		DEFB	$00
FCCB 00		DEFB	$00
FCCC 00		DEFB	$00
FCCD 00		DEFB	$00
FCCE 00		DEFB	$00
FCCF 00		DEFB	$00
FCD0 00		DEFB	$00
FCD1 00		DEFB	$00
FCD2 00		DEFB	$00
FCD3 00		DEFB	$00
FCD4 00		DEFB	$00
FCD5 00		DEFB	$00
FCD6 00		DEFB	$00
FCD7 00		DEFB	$00
FCD8 00		DEFB	$00
FCD9 00		DEFB	$00
FCDA 00		DEFB	$00
FCDB 00		DEFB	$00
FCDC 00		DEFB	$00
FCDD 00		DEFB	$00
FCDE 00		DEFB	$00
FCDF 00		DEFB	$00
FCE0 00		DEFB	$00
FCE1 00		DEFB	$00
FCE2 00		DEFB	$00
FCE3 00		DEFB	$00
FCE4 00		DEFB	$00
FCE5 00		DEFB	$00
FCE6 00		DEFB	$00
FCE7 00		DEFB	$00
FCE8 00		DEFB	$00
FCE9 00		DEFB	$00
FCEA 00		DEFB	$00
FCEB 00		DEFB	$00
FCEC 00		DEFB	$00
FCED 00		DEFB	$00
FCEE 00		DEFB	$00
FCEF 00		DEFB	$00
FCF0 00		DEFB	$00
FCF1 00		DEFB	$00
FCF2 00		DEFB	$00
FCF3 00		DEFB	$00
FCF4 00		DEFB	$00
FCF5 00		DEFB	$00
FCF6 00		DEFB	$00
FCF7 00		DEFB	$00
FCF8 00		DEFB	$00
FCF9 00		DEFB	$00
FCFA 00		DEFB	$00
FCFB 00		DEFB	$00
FCFC 00		DEFB	$00
FCFD 00		DEFB	$00
FCFE 00		DEFB	$00
FCFF 00		DEFB	$00
FD00 00		DEFB	$00
FD01 00		DEFB	$00
FD02 00		DEFB	$00
FD03 00		DEFB	$00
FD04 00		DEFB	$00
FD05 00		DEFB	$00
FD06 00		DEFB	$00
FD07 00		DEFB	$00
FD08 00		DEFB	$00
FD09 00		DEFB	$00
FD0A 00		DEFB	$00
FD0B 00		DEFB	$00
FD0C 00		DEFB	$00
FD0D 00		DEFB	$00
FD0E 00		DEFB	$00
FD0F 00		DEFB	$00
FD10 00		DEFB	$00
FD11 00		DEFB	$00
FD12 00		DEFB	$00
FD13 00		DEFB	$00
FD14 00		DEFB	$00
FD15 00		DEFB	$00
FD16 00		DEFB	$00
FD17 00		DEFB	$00
FD18 00		DEFB	$00
FD19 00		DEFB	$00
FD1A 00		DEFB	$00
FD1B 00		DEFB	$00
FD1C 00		DEFB	$00
FD1D 00		DEFB	$00
FD1E 00		DEFB	$00
FD1F 00		DEFB	$00
FD20 00		DEFB	$00
FD21 00		DEFB	$00
FD22 00		DEFB	$00
FD23 00		DEFB	$00
FD24 00		DEFB	$00
FD25 00		DEFB	$00
FD26 00		DEFB	$00
FD27 00		DEFB	$00
FD28 00		DEFB	$00
FD29 00		DEFB	$00
FD2A 00		DEFB	$00
FD2B 00		DEFB	$00
FD2C 00		DEFB	$00
FD2D 00		DEFB	$00
FD2E 00		DEFB	$00
FD2F 00		DEFB	$00
FD30 00		DEFB	$00
FD31 00		DEFB	$00
FD32 00		DEFB	$00
FD33 00		DEFB	$00
FD34 00		DEFB	$00
FD35 00		DEFB	$00
FD36 00		DEFB	$00
FD37 00		DEFB	$00
FD38 00		DEFB	$00
FD39 00		DEFB	$00
FD3A 00		DEFB	$00
FD3B 00		DEFB	$00
FD3C 00		DEFB	$00
FD3D 00		DEFB	$00
FD3E 00		DEFB	$00
FD3F 00		DEFB	$00
FD40 00		DEFB	$00
FD41 00		DEFB	$00
FD42 00		DEFB	$00
FD43 00		DEFB	$00
FD44 00		DEFB	$00
FD45 00		DEFB	$00
FD46 00		DEFB	$00
FD47 00		DEFB	$00
FD48 00		DEFB	$00
FD49 00		DEFB	$00
FD4A 00		DEFB	$00
FD4B 00		DEFB	$00
FD4C 00		DEFB	$00
FD4D 00		DEFB	$00
FD4E 00		DEFB	$00
FD4F 00		DEFB	$00
FD50 00		DEFB	$00
FD51 00		DEFB	$00
FD52 00		DEFB	$00
FD53 00		DEFB	$00
FD54 00		DEFB	$00
FD55 00		DEFB	$00
FD56 00		DEFB	$00
FD57 00		DEFB	$00
FD58 00		DEFB	$00
FD59 00		DEFB	$00
FD5A 00		DEFB	$00
FD5B 00		DEFB	$00
FD5C 00		DEFB	$00
FD5D 00		DEFB	$00
FD5E 00		DEFB	$00
FD5F 00		DEFB	$00
FD60 00		DEFB	$00
FD61 00		DEFB	$00
FD62 00		DEFB	$00
FD63 00		DEFB	$00
FD64 00		DEFB	$00
FD65 00		DEFB	$00
FD66 00		DEFB	$00
FD67 00		DEFB	$00
FD68 00		DEFB	$00
FD69 00		DEFB	$00
FD6A 00		DEFB	$00
FD6B 00		DEFB	$00
FD6C 00		DEFB	$00
FD6D 00		DEFB	$00
FD6E 00		DEFB	$00
FD6F 00		DEFB	$00
FD70 00		DEFB	$00
FD71 00		DEFB	$00
FD72 00		DEFB	$00
FD73 00		DEFB	$00
FD74 00		DEFB	$00
FD75 00		DEFB	$00
FD76 00		DEFB	$00
FD77 00		DEFB	$00
FD78 00		DEFB	$00
FD79 00		DEFB	$00
FD7A 00		DEFB	$00
FD7B 00		DEFB	$00
FD7C 00		DEFB	$00
FD7D 00		DEFB	$00
FD7E 00		DEFB	$00
FD7F 00		DEFB	$00
FD80 00		DEFB	$00
FD81 00		DEFB	$00
FD82 00		DEFB	$00
FD83 00		DEFB	$00
FD84 00		DEFB	$00
FD85 00		DEFB	$00
FD86 00		DEFB	$00
FD87 00		DEFB	$00
FD88 00		DEFB	$00
FD89 00		DEFB	$00
FD8A 00		DEFB	$00
FD8B 00		DEFB	$00
FD8C 00		DEFB	$00
FD8D 00		DEFB	$00
FD8E 00		DEFB	$00
FD8F 00		DEFB	$00

FD90 87		DEFB	$87
FD91 F9		DEFB	$F9
FD92 87		DEFB	$87
FD93 F9		DEFB	$F9
FD94 87		DEFB	$87
FD95 F9		DEFB	$F9
FD96 C9		DEFB	$C9
FD97 F8		DEFB	$F8

FD98 87		DEFB	$87	; \ CTC0 Interrupt Vector
FD99 F9		DEFB	$F9	; / (Int. routine at $F987)
FD9A 87		DEFB	$87	; \ CTC1 Interrupt Vector
FD9B F9		DEFB	$F9	; / (Int. routine at $F987)
FD9C 87		DEFB	$87	; \ CTC2 Interrupt Vector
FD9D F9		DEFB	$F9	; / (Int. routine at $F987)
FD9E 87		DEFB	$87	; \ CTC3 Interrupt Vector
FD9F F9		DEFB	$F9	; / (Int. routine at $F987)

FDA0 00		DEFB	$00
FDA1 00		DEFB	$00
FDA2 00		DEFB	$00
FDA3 00		DEFB	$00
FDA4 00		DEFB	$00
FDA5 00		DEFB	$00
FDA6 00		DEFB	$00
FDA7 00		DEFB	$00
FDA8 00		DEFB	$00
FDA9 00		DEFB	$00
FDAA 00		DEFB	$00
FDAB 00		DEFB	$00
FDAC 00		DEFB	$00
FDAD 00		DEFB	$00
FDAE 00		DEFB	$00
FDAF 00		DEFB	$00
FDB0 00		DEFB	$00
FDB1 00		DEFB	$00
FDB2 00		DEFB	$00
FDB3 00		DEFB	$00
FDB4 00		DEFB	$00
FDB5 00		DEFB	$00
FDB6 00		DEFB	$00
FDB7 00		DEFB	$00
FDB8 00		DEFB	$00
FDB9 00		DEFB	$00
FDBA 00		DEFB	$00
FDBB 00		DEFB	$00
FDBC 00		DEFB	$00
FDBD 00		DEFB	$00
FDBE 00		DEFB	$00
FDBF 00		DEFB	$00
FDC0 00		DEFB	$00
FDC1 00		DEFB	$00
FDC2 00		DEFB	$00
FDC3 00		DEFB	$00
FDC4 69		DEFB	$69
FDC5 F9		DEFB	$F9
FDC6 00		DEFB	$00
FDC7 00		DEFB	$00
FDC8 00		DEFB	$00
FDC9 00		DEFB	$00
FDCA 00		DEFB	$00
FDCB 00		DEFB	$00
FDCC 00		DEFB	$00
FDCD 00		DEFB	$00
FDCE 00		DEFB	$00
FDCF 00		DEFB	$00
FDD0 00		DEFB	$00
FDD1 00		DEFB	$00
FDD2 00		DEFB	$00
FDD3 00		DEFB	$00
FDD4 00		DEFB	$00
FDD5 00		DEFB	$00
FDD6 00		DEFB	$00
FDD7 00		DEFB	$00
FDD8 00		DEFB	$00
FDD9 00		DEFB	$00
FDDA 00		DEFB	$00
FDDB 00		DEFB	$00
FDDC 00		DEFB	$00
FDDD 00		DEFB	$00
FDDE 00		DEFB	$00
FDDF 00		DEFB	$00
FDE0 00		DEFB	$00
FDE1 00		DEFB	$00
FDE2 00		DEFB	$00
FDE3 00		DEFB	$00
FDE4 00		DEFB	$00
FDE5 00		DEFB	$00
FDE6 00		DEFB	$00
FDE7 00		DEFB	$00
FDE8 00		DEFB	$00
FDE9 00		DEFB	$00
FDEA 00		DEFB	$00
FDEB 00		DEFB	$00
FDEC 00		DEFB	$00
FDED 00		DEFB	$00
FDEE 00		DEFB	$00
FDEF 00		DEFB	$00
				; ##### 8272 command result bytes
FDF0 00		DEFB	$00	; ST0
FDF1 00		DEFB	$00	; ST1
FDF2 00		DEFB	$00	; ST2
FDF3 00		DEFB	$00	; C
FDF4 00		DEFB	$00	; H
FDF5 00		DEFB	$00	; R
FDF6 00		DEFB	$00	; N
FDF7 00		DEFB	$00
				; ##### 8272 command args
FDF8 00		DEFB	$00	; head+drive
FDF9 00		DEFB	$00	; C	| N
FDFA 00		DEFB	$00	; H	| SC
FDFB 00		DEFB	$00	; R	| GPL
FDFC 00		DEFB	$00	; N	| D
FDFD 00		DEFB	$00	; EOT
FDFE 00		DEFB	$00	; GPL
FDFF 00		DEFB	$00	; DTL	| STP

FE00 1B		DEFB	$1B	; ESC \ control sequence to erase screen
FE01 30		DEFB	$30	; '0' / and position cursor top left
FE02 0E		DEFB	$0E	; control char to activate inverse video
FE03 20		DEFB	$20	; " "
FE04 35		DEFB	$35	; "5"
FE05 38		DEFB	$38	; "8"
FE06 6B		DEFB	$6B	; "k"
FE07 20		DEFB	$20	; " "
FE08 43		DEFB	$43	; "C"
FE09 6F		DEFB	$6F	; "o"
FE0A 42		DEFB	$42	; "B"
FE0B 72		DEFB	$72	; "r"
FE0C 61		DEFB	$61	; "a"
FE0D 2D		DEFB	$2D	; "-"
FE0E 44		DEFB	$44	; "D"
FE0F 4F		DEFB	$4F	; "O"
FE10 53		DEFB	$53	; "S"
FE11 20		DEFB	$20	; " "
FE12 32		DEFB	$32	; "2"
FE13 2E		DEFB	$2E	; "."
FE14 32		DEFB	$32	; "2"
FE15 20		DEFB	$20	; " "
FE16 20		DEFB	$20	; " "
FE17 20		DEFB	$20	; " "
FE18 20		DEFB	$20	; " "
FE19 20		DEFB	$20	; " "
FE1A 20		DEFB	$20	; " "
FE1B FF		DEFB	$FF
FE1C 31		DEFB	$31	; "1"
FE1D 39		DEFB	$39	; "9"
FE1E 38		DEFB	$38	; "8"
FE1F 39		DEFB	$39	; "9"
FE20 20		DEFB	$20	; " "
FE21 49		DEFB	$49	; "I"
FE22 54		DEFB	$54	; "T"
FE23 43		DEFB	$43	; "C"
FE24 49		DEFB	$49	; "I
FE25 2D		DEFB	$2D	; "-"
FE26 42		DEFB	$42	; "B"
FE27 76		DEFB	$76	; "v"
FE28 0F		DEFB	$0F
FE29 00		DEFB	$00

FE2A C39A70	JP	$709A

FE2D ED5E	IM	2		; ################### BOOT (FE2D) ####################
FE2F 3EFD	LD	A,$FD	; upper half of CTC interrupt table start address (FD)...
FE31 ED47	LD	I,A	; ...is stored in register I (see Z80 docs)
FE33 3E98	LD	A,$98	; lower half of CTC interrupt table start address (98)...
FE35 D3E3	OUT	($E3),A	; ...is sent to CTC channel 0
				; MEANING: Interrupt Vector being used by all 4 channels!!
				; Interrupt Vector = 10011cc0 where cc is the CTC channel.
				; requesting the interrupt. So vector for CTC0 = 98, CTC1 = 9A, CTC2 = 9C, CTC3 = 9E
				; The upper half of addr table pointer is FD (stored in register I above).
				; So the vector table is at FD98 (CTC0), FD9A (CTC1), FD9C (CTC2), FD9E (CTC3).
				; At start all channels use Interrupt routine at $F987 which does nothing
FE37 3EFF	LD	A,$FF	; data for CTC0 on next line: set CTC0 to counter mode and enable CTC0 interrupts
FE39 D3E3	OUT	($E3),A	; write FF to CTC channel 0 (Enable Interrupt, Counter Mode, Prescaler=256,
				; Rising Edge, CLK/TRG Pulse Starts Timer, Time Const. Follows, Reset, Control).
				; MEANING: Reset, Enable Interrupts for Channel 0, a Time Constant follows.
FE3B 3E01	LD	A,$01	; time constant for CTC0 on next line: generate INT for each byte transferred from 8272 to µP
FE3D D3E3	OUT	($E3),A	; write 01 to CTC channel 0
				; MEANING: Time Constant byte (=01, for 1 byte read).
FE3F 3E7B	LD	A,$7B	; control word for CTC channels 1-3 in next 3 instructions (Disable Interrupt, Counter Mode, Prescaler=256, Rising Edge, Pulse Trigger, No Time Const. Follows, Reset, Control)
FE41 D3EB	OUT	($EB),A	; write 7B to CTC channel 1
				; MEANING: Disable Channel 1 interrupts, reset channel.
FE43 D3F3	OUT	($F3),A	; write 7B to CTC channel 2
				; MEANING: Disable Channel 2 interrupts, reset channel.
FE45 D3FB	OUT	($FB),A	; write 7B to CTC channel 3
				; MEANING: Disable Channel 3 interrupts, reset channel.
FE47 013072	LD	BC,$7230
FE4A 1173F8	LD	DE,$F873
FE4D 2101F6	LD	HL,$F601
FE50 73		LD	(HL),E	; ($F601) = $73
FE51 23		INC	HL	; HL = $F602
FE52 72		LD	(HL),D	; ($F602) = $F8 -> this changes the address of BIOS function 00 (BOOT) to $F873 = CPM_TO_COBRA
FE53 23		INC	HL	; HL = $F603...
FE54 E5		PUSH	HL	; ...saved on stack (RET will go to BIOS WBOOT)
FE55 C5		PUSH	BC	; BC = $7230 also saved on stack (RET will jump to $7230)
FE56 3A40F6	LD	A,($F640) ; A = 8255/Port C mirror (initial value $40 with O6=1 -> VRAM CPU access)
FE59 D3FE	OUT	($FE),A	; set access to VRAM instead of DRAM#1
FE5B C37170	JP	$7071	; jump to BLOCK#3

FE5E 00		DEFB	$00
FE5F 00		DEFB	$00
FE60 00		DEFB	$00
FE61 00		DEFB	$00
FE62 00		DEFB	$00
FE63 00		DEFB	$00
FE64 00		DEFB	$00
FE65 00		DEFB	$00
FE66 00		DEFB	$00
FE67 00		DEFB	$00
FE68 00		DEFB	$00
FE69 00		DEFB	$00
FE6A 00		DEFB	$00
FE6B 00		DEFB	$00
FE6C 00		DEFB	$00
FE6D 00		DEFB	$00
FE6E 00		DEFB	$00
FE6F 00		DEFB	$00
FE70 00		DEFB	$00
FE71 00		DEFB	$00
FE72 00		DEFB	$00
FE73 00		DEFB	$00
FE74 00		DEFB	$00
FE75 00		DEFB	$00
FE76 00		DEFB	$00
FE77 00		DEFB	$00
FE78 00		DEFB	$00
FE79 00		DEFB	$00
FE7A 00		DEFB	$00
FE7B 00		DEFB	$00
FE7C 00		DEFB	$00
FE7D 00		DEFB	$00
FE7E 00		DEFB	$00
FE7F 00		DEFB	$00
FE80 00		DEFB	$00
FE81 00		DEFB	$00
FE82 00		DEFB	$00
FE83 00		DEFB	$00
FE84 00		DEFB	$00
FE85 00		DEFB	$00
FE86 00		DEFB	$00
FE87 00		DEFB	$00
FE88 00		DEFB	$00
FE89 00		DEFB	$00
FE8A 00		DEFB	$00
FE8B 00		DEFB	$00
FE8C 00		DEFB	$00
FE8D 00		DEFB	$00
FE8E 00		DEFB	$00
FE8F 00		DEFB	$00
FE90 00		DEFB	$00
FE91 00		DEFB	$00
FE92 00		DEFB	$00
FE93 00		DEFB	$00
FE94 00		DEFB	$00
FE95 00		DEFB	$00
FE96 00		DEFB	$00
FE97 00		DEFB	$00
FE98 00		DEFB	$00
FE99 00		DEFB	$00
FE9A 00		DEFB	$00
FE9B 00		DEFB	$00
FE9C 00		DEFB	$00
FE9D 00		DEFB	$00
FE9E 00		DEFB	$00
FE9F 00		DEFB	$00
FEA0 00		DEFB	$00
FEA1 00		DEFB	$00
FEA2 00		DEFB	$00
FEA3 00		DEFB	$00
FEA4 00		DEFB	$00
FEA5 00		DEFB	$00
FEA6 00		DEFB	$00
FEA7 00		DEFB	$00
FEA8 00		DEFB	$00
FEA9 00		DEFB	$00
FEAA 00		DEFB	$00
FEAB 00		DEFB	$00
FEAC 00		DEFB	$00
FEAD 00		DEFB	$00
FEAE 00		DEFB	$00
FEAF 00		DEFB	$00
FEB0 00		DEFB	$00
FEB1 00		DEFB	$00
FEB2 00		DEFB	$00
FEB3 00		DEFB	$00
FEB4 00		DEFB	$00
FEB5 00		DEFB	$00
FEB6 00		DEFB	$00
FEB7 00		DEFB	$00
FEB8 00		DEFB	$00
FEB9 00		DEFB	$00
FEBA 00		DEFB	$00
FEBB 00		DEFB	$00
FEBC 00		DEFB	$00
FEBD 00		DEFB	$00
FEBE 00		DEFB	$00
FEBF 00		DEFB	$00
FEC0 00		DEFB	$00
FEC1 00		DEFB	$00
FEC2 00		DEFB	$00
FEC3 00		DEFB	$00
FEC4 00		DEFB	$00
FEC5 00		DEFB	$00
FEC6 00		DEFB	$00
FEC7 00		DEFB	$00
FEC8 00		DEFB	$00
FEC9 00		DEFB	$00
FECA 00		DEFB	$00
FECB 00		DEFB	$00
FECC 00		DEFB	$00
FECD 00		DEFB	$00
FECE 00		DEFB	$00
FECF 00		DEFB	$00
FED0 00		DEFB	$00
FED1 00		DEFB	$00
FED2 00		DEFB	$00
FED3 00		DEFB	$00
FED4 00		DEFB	$00
FED5 00		DEFB	$00
FED6 00		DEFB	$00
FED7 00		DEFB	$00
FED8 00		DEFB	$00
FED9 00		DEFB	$00
FEDA 00		DEFB	$00
FEDB 00		DEFB	$00
FEDC 00		DEFB	$00
FEDD 00		DEFB	$00
FEDE 00		DEFB	$00
FEDF 00		DEFB	$00
FEE0 00		DEFB	$00
FEE1 00		DEFB	$00
FEE2 00		DEFB	$00
FEE3 00		DEFB	$00
FEE4 00		DEFB	$00
FEE5 00		DEFB	$00
FEE6 00		DEFB	$00
FEE7 00		DEFB	$00
FEE8 00		DEFB	$00
FEE9 00		DEFB	$00
FEEA 00		DEFB	$00
FEEB 00		DEFB	$00
FEEC 00		DEFB	$00
FEED 00		DEFB	$00
FEEE 00		DEFB	$00
FEEF 00		DEFB	$00
FEF0 00		DEFB	$00
FEF1 00		DEFB	$00
FEF2 00		DEFB	$00
FEF3 00		DEFB	$00
FEF4 00		DEFB	$00
FEF5 00		DEFB	$00
FEF6 00		DEFB	$00
FEF7 00		DEFB	$00
FEF8 00		DEFB	$00
FEF9 00		DEFB	$00
FEFA 00		DEFB	$00
FEFB 00		DEFB	$00
FEFC 00		DEFB	$00
FEFD 00		DEFB	$00
FEFE 00		DEFB	$00
FEFF 00		DEFB	$00
FF00 00		DEFB	$00
FF01 00		DEFB	$00
FF02 00		DEFB	$00
FF03 00		DEFB	$00
FF04 00		DEFB	$00
FF05 00		DEFB	$00
FF06 00		DEFB	$00
FF07 00		DEFB	$00
FF08 00		DEFB	$00
FF09 00		DEFB	$00
FF0A 00		DEFB	$00
FF0B 00		DEFB	$00
FF0C 00		DEFB	$00
FF0D 00		DEFB	$00
FF0E 00		DEFB	$00
FF0F 00		DEFB	$00
FF10 00		DEFB	$00
FF11 00		DEFB	$00
FF12 00		DEFB	$00
FF13 00		DEFB	$00
FF14 00		DEFB	$00
FF15 00		DEFB	$00
FF16 00		DEFB	$00
FF17 00		DEFB	$00
FF18 00		DEFB	$00
FF19 00		DEFB	$00
FF1A 00		DEFB	$00
FF1B 00		DEFB	$00
FF1C 00		DEFB	$00
FF1D 00		DEFB	$00
FF1E 00		DEFB	$00
FF1F 00		DEFB	$00
FF20 00		DEFB	$00
FF21 00		DEFB	$00
FF22 00		DEFB	$00
FF23 00		DEFB	$00
FF24 00		DEFB	$00
FF25 00		DEFB	$00
FF26 00		DEFB	$00
FF27 00		DEFB	$00
FF28 00		DEFB	$00
FF29 00		DEFB	$00
FF2A 00		DEFB	$00
FF2B 00		DEFB	$00
FF2C 00		DEFB	$00
FF2D 00		DEFB	$00
FF2E 00		DEFB	$00
FF2F 00		DEFB	$00
FF30 00		DEFB	$00
FF31 00		DEFB	$00
FF32 00		DEFB	$00
FF33 00		DEFB	$00
FF34 00		DEFB	$00
FF35 00		DEFB	$00
FF36 00		DEFB	$00
FF37 00		DEFB	$00
FF38 00		DEFB	$00
FF39 00		DEFB	$00
FF3A 00		DEFB	$00
FF3B 00		DEFB	$00
FF3C 00		DEFB	$00
FF3D 00		DEFB	$00
FF3E 00		DEFB	$00
FF3F 00		DEFB	$00
FF40 00		DEFB	$00
FF41 00		DEFB	$00
FF42 00		DEFB	$00
FF43 00		DEFB	$00
FF44 00		DEFB	$00
FF45 00		DEFB	$00
FF46 00		DEFB	$00
FF47 00		DEFB	$00
FF48 00		DEFB	$00
FF49 00		DEFB	$00
FF4A 00		DEFB	$00
FF4B 00		DEFB	$00
FF4C 00		DEFB	$00
FF4D 00		DEFB	$00
FF4E 00		DEFB	$00
FF4F 00		DEFB	$00
FF50 00		DEFB	$00
FF51 00		DEFB	$00
FF52 00		DEFB	$00
FF53 00		DEFB	$00
FF54 00		DEFB	$00
FF55 00		DEFB	$00
FF56 00		DEFB	$00
FF57 00		DEFB	$00
FF58 00		DEFB	$00
FF59 00		DEFB	$00
FF5A 00		DEFB	$00
FF5B 00		DEFB	$00
FF5C 00		DEFB	$00
FF5D 00		DEFB	$00
FF5E 00		DEFB	$00
FF5F 00		DEFB	$00
FF60 00		DEFB	$00
FF61 00		DEFB	$00
FF62 00		DEFB	$00
FF63 00		DEFB	$00
FF64 00		DEFB	$00
FF65 00		DEFB	$00
FF66 00		DEFB	$00
FF67 00		DEFB	$00
FF68 00		DEFB	$00
FF69 00		DEFB	$00
FF6A 00		DEFB	$00
FF6B 00		DEFB	$00
FF6C 00		DEFB	$00
FF6D 00		DEFB	$00
FF6E 00		DEFB	$00
FF6F 00		DEFB	$00
FF70 00		DEFB	$00
FF71 00		DEFB	$00
FF72 00		DEFB	$00
FF73 00		DEFB	$00
FF74 00		DEFB	$00
FF75 00		DEFB	$00
FF76 00		DEFB	$00
FF77 00		DEFB	$00
FF78 00		DEFB	$00
FF79 00		DEFB	$00
FF7A 00		DEFB	$00
FF7B 00		DEFB	$00
FF7C 00		DEFB	$00
FF7D 00		DEFB	$00
FF7E 00		DEFB	$00
FF7F 00		DEFB	$00
FF80 00		DEFB	$00
FF81 00		DEFB	$00
FF82 00		DEFB	$00
FF83 00		DEFB	$00
FF84 00		DEFB	$00
FF85 00		DEFB	$00
FF86 00		DEFB	$00
FF87 00		DEFB	$00
FF88 00		DEFB	$00
FF89 00		DEFB	$00
FF8A 00		DEFB	$00
FF8B 00		DEFB	$00
FF8C 00		DEFB	$00
FF8D 00		DEFB	$00
FF8E 00		DEFB	$00
FF8F 00		DEFB	$00
FF90 00		DEFB	$00
FF91 00		DEFB	$00
FF92 00		DEFB	$00
FF93 00		DEFB	$00
FF94 00		DEFB	$00
FF95 00		DEFB	$00
FF96 00		DEFB	$00
FF97 00		DEFB	$00
FF98 00		DEFB	$00
FF99 00		DEFB	$00
FF9A 00		DEFB	$00
FF9B 00		DEFB	$00
FF9C 00		DEFB	$00
FF9D 00		DEFB	$00
FF9E 00		DEFB	$00
FF9F 00		DEFB	$00
FFA0 00		DEFB	$00
FFA1 00		DEFB	$00
FFA2 00		DEFB	$00
FFA3 00		DEFB	$00
FFA4 00		DEFB	$00
FFA5 00		DEFB	$00
FFA6 00		DEFB	$00
FFA7 00		DEFB	$00
FFA8 00		DEFB	$00
FFA9 00		DEFB	$00
FFAA 00		DEFB	$00
FFAB 00		DEFB	$00
FFAC 00		DEFB	$00
FFAD 00		DEFB	$00
FFAE 00		DEFB	$00
FFAF 00		DEFB	$00
FFB0 00		DEFB	$00
FFB1 00		DEFB	$00
FFB2 00		DEFB	$00
FFB3 00		DEFB	$00
FFB4 00		DEFB	$00
FFB5 00		DEFB	$00
FFB6 00		DEFB	$00
FFB7 00		DEFB	$00
FFB8 00		DEFB	$00
FFB9 00		DEFB	$00
FFBA 00		DEFB	$00
FFBB 00		DEFB	$00
FFBC 00		DEFB	$00
FFBD 00		DEFB	$00
FFBE 00		DEFB	$00
FFBF 00		DEFB	$00
FFC0 00		DEFB	$00
FFC1 00		DEFB	$00
FFC2 00		DEFB	$00
FFC3 00		DEFB	$00
FFC4 00		DEFB	$00
FFC5 00		DEFB	$00
FFC6 00		DEFB	$00
FFC7 00		DEFB	$00
FFC8 00		DEFB	$00
FFC9 00		DEFB	$00
FFCA 00		DEFB	$00
FFCB 00		DEFB	$00
FFCC 00		DEFB	$00
FFCD 00		DEFB	$00
FFCE 00		DEFB	$00
FFCF 00		DEFB	$00
FFD0 00		DEFB	$00
FFD1 00		DEFB	$00
FFD2 00		DEFB	$00
FFD3 00		DEFB	$00
FFD4 00		DEFB	$00
FFD5 00		DEFB	$00
FFD6 00		DEFB	$00
FFD7 00		DEFB	$00
FFD8 00		DEFB	$00
FFD9 00		DEFB	$00
FFDA 00		DEFB	$00
FFDB 00		DEFB	$00
FFDC 00		DEFB	$00
FFDD 00		DEFB	$00
FFDE 00		DEFB	$00
FFDF 00		DEFB	$00
FFE0 00		DEFB	$00
FFE1 00		DEFB	$00
FFE2 00		DEFB	$00
FFE3 00		DEFB	$00
FFE4 00		DEFB	$00
FFE5 00		DEFB	$00
FFE6 00		DEFB	$00
FFE7 00		DEFB	$00
FFE8 00		DEFB	$00
FFE9 00		DEFB	$00
FFEA 00		DEFB	$00
FFEB 00		DEFB	$00
FFEC 00		DEFB	$00
FFED 00		DEFB	$00
FFEE 00		DEFB	$00
FFEF 00		DEFB	$00
FFF0 00		DEFB	$00
FFF1 00		DEFB	$00
FFF2 00		DEFB	$00
FFF3 00		DEFB	$00
FFF4 00		DEFB	$00
FFF5 00		DEFB	$00
FFF6 00		DEFB	$00
FFF7 00		DEFB	$00
FFF8 00		DEFB	$00
FFF9 00		DEFB	$00
FFFA 00		DEFB	$00
FFFB 00		DEFB	$00
FFFC 00		DEFB	$00
FFFD 00		DEFB	$00
FFFE 00		DEFB	$00
FFFF 00		DEFB	$00